Skip to content

[pull] master from php:master#699

Merged
pull[bot] merged 11 commits intoConnectionMaster:masterfrom
php:master
Apr 24, 2026
Merged

[pull] master from php:master#699
pull[bot] merged 11 commits intoConnectionMaster:masterfrom
php:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 24, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

iliaal and others added 11 commits April 24, 2026 17:02
…t::setFetchMode (#21434)

When setFetchMode(PDO::FETCH_DEFAULT) is called, mode=0
(PDO_FETCH_USE_DEFAULT) gets stored as the statement's default fetch
type. Later, do_fetch() tries to resolve PDO_FETCH_USE_DEFAULT by
reading stmt->default_fetch_type, which is also 0 — circular
reference that on 8.4 silently fell through to FETCH_BOTH and on
master throws a ValueError.

Resolve PDO_FETCH_USE_DEFAULT to the connection-level default early in
pdo_stmt_setup_fetch_mode(), before flags extraction and the mode
switch, so the rest of the function processes the actual fetch mode.

fixes #20214
closes #21434
* PHP-8.4:
  Fix GH-20214: PDO::FETCH_DEFAULT unexpected behavior with PDOStatement::setFetchMode (#21434)
* PHP-8.5:
  Fix GH-20214: PDO::FETCH_DEFAULT unexpected behavior with PDOStatement::setFetchMode (#21434)
This could also be seen from the lack of coverage on CodeCov as these are impossible branches to reach.
And have a linear code flow that is easier to reason
…hive()

We don't need to be assigning the realpath to fname, we can just use it directly.
This also makes the efree(my_realpath) call not seem completely random.
It serves no purpose as fname is never modified so there is nothing to restore.
Just use fname directly instead.
Just check in advance if we don't have an archive to checkin in the manifest cache.
…_archive()

We don't actually care about the returned pointer, so use a clearer API to better communicate intent.
The naming between fd and fd_ptr seem to indicate one is not a pointer, but they both are.
Moreover, there is no reason to copy the same value to the variables at the same time.
@pull pull Bot locked and limited conversation to collaborators Apr 24, 2026
@pull pull Bot added the ⤵️ pull label Apr 24, 2026
@pull pull Bot merged commit 54787f2 into ConnectionMaster:master Apr 24, 2026
@pull pull Bot added the ⤵️ pull label Apr 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants